﻿using System;
using System.Data;
using System.Collections.Generic;
namespace Things.IDAL
{
	/// <summary>
	/// 接口层GoodsOrders
	/// </summary>
	public interface IGoodsOrders
	{
		#region  成员方法
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		bool Exists(Guid GoodsOrdersID);

        /// <summary>
        /// 是否存在该记录
        /// </summary>
        bool Exists(string userAccount, Guid GoodsPriceID);
        int GetAllSuccessfulOrder(string userAccount, Guid GoodsPriceID);
		/// <summary>
		/// 增加一条数据
		/// </summary>
		bool Add(Things.Model.GoodsOrders model);
		/// <summary>
		/// 更新一条数据
		/// </summary>
		bool Update(Things.Model.GoodsOrders model);
		/// <summary>
		/// 删除一条数据
		/// </summary>
		bool Delete(Guid GoodsOrdersID);
		bool DeleteList(string GoodsOrdersIDlist );
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		Things.Model.GoodsOrders GetModel(Guid GoodsOrdersID);
		/// <summary>
		/// 获得数据列表
		/// </summary>
		DataSet GetList(string strWhere);
        DataSet GetList(string buyerAccount, DateTime filterDate, string keyword);
        DataSet GetList(Guid goodsPriceID, string status);
        /// <summary>
		/// 获得数据列表
		/// </summary>
        DataSet GetListByBuyerAccount(string buyerAccount);
        /// <summary>
		/// 获得数据列表
		/// </summary>
        DataSet GetGoodsListByGoodsOrderID(Guid goodsOrderID);
		/// <summary>
		/// 获得前几行数据
		/// </summary>
		DataSet GetList(int Top,string strWhere,string filedOrder);
		int GetRecordCount(string strWhere);
		DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex);
		/// <summary>
		/// 根据分页获得数据列表
		/// </summary>
		//DataSet GetList(int PageSize,int PageIndex,string strWhere);

        /// <summary>
        /// 获得销售排行榜
        /// </summary>
        /// <param name="Top"></param>
        /// <returns></returns>
        DataSet GetTopSaledList(int Top);
        /// <summary>
        /// 获得对象
        /// </summary>
        /// <param name="GoodsOrderNumber"></param>
        /// <returns></returns>
        Things.Model.GoodsOrders GetModel(int GoodsOrderNumber);

        /// <summary>
        /// 获得对象列表
        /// </summary>
        /// <param name="strWhere"></param>
        /// <returns></returns>
        List<Things.Model.GoodsOrders> GetModels(string strWhere);

		#endregion  成员方法
	} 
}
